package org.caw.domain.descriptor;

import java.io.Serializable;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

import org.apache.hadoop.hbase.io.hfile.Compression.Algorithm;
import org.apache.hadoop.hbase.regionserver.StoreFile.BloomType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "family")
public class FamilyDescriptor implements Serializable {

	private static final long serialVersionUID = 4667016719704563139L;

	@XmlElement(name = "name")
	private String name;

	@XmlElement(name = "versions")
	private Integer versions;

	@XmlElement(name = "blockSize")
	private Integer blockSize;

	@XmlElement(name = "bloomFilterType")
	private BloomType bloomFilterType;

	@XmlElement(name = "compactionCompressionType")
	private Algorithm compactionCompressionType;

	@XmlElement(name = "compressionType")
	private Algorithm compressionType;

	@XmlElement(name = "scope")
	private Integer scope;

	@XmlElement(name = "ttl")
	private Integer ttl;

	@XmlElement(name = "inMemory")
	private Boolean inMemory;

	@XmlElement(name = "blockCache")
	private Boolean blockCache;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getVersions() {
		return versions;
	}

	public void setVersions(Integer versions) {
		this.versions = versions;
	}

	public Integer getBlockSize() {
		return blockSize;
	}

	public void setBlockSize(Integer blockSize) {
		this.blockSize = blockSize;
	}

	public BloomType getBloomFilterType() {
		return bloomFilterType;
	}

	public void setBloomFilterType(BloomType bloomFilterType) {
		this.bloomFilterType = bloomFilterType;
	}

	public Algorithm getCompactionCompressionType() {
		return compactionCompressionType;
	}

	public void setCompactionCompressionType(Algorithm compactionCompressionType) {
		this.compactionCompressionType = compactionCompressionType;
	}

	public Algorithm getCompressionType() {
		return compressionType;
	}

	public void setCompressionType(Algorithm compressionType) {
		this.compressionType = compressionType;
	}

	public Integer getScope() {
		return scope;
	}

	public void setScope(Integer scope) {
		this.scope = scope;
	}

	public Integer getTtl() {
		return ttl;
	}

	public void setTtl(Integer ttl) {
		this.ttl = ttl;
	}

	public Boolean getInMemory() {
		return inMemory;
	}

	public void setInMemory(Boolean inMemory) {
		this.inMemory = inMemory;
	}

	public Boolean getBlockCache() {
		return blockCache;
	}

	public void setBlockCache(Boolean blockCache) {
		this.blockCache = blockCache;
	}

}
